' {$STAMP BS2}
' following the line by using qti sensor if IR didn't detect object
'in front of the robot
'if it detect the robot will produce a tone after stoping


irDetectLeft VAR Bit
irDetectRight VAR Bit
qti VAR Ni

FREQOUT 2, 1, 38500
irDetectLeft = IN9
irDetectRight = IN0


DO UNTIL  (irDetectLeft =0) OR (irDetectRight = 0)
right: HIGH 5: PAUSE 1:qti.BIT0=IN3:INPUT 5
center: HIGH 6: PAUSE 1: qti.BIT1 = IN3: INPUT 6
left: HIGH 7: PAUSE 1: qti.BIT2 =IN3:INPUT 7
SELECT qti
  CASE %010 'forward
    PULSOUT 13,850
    PULSOUT 12,650
  CASE %011   'pivot right
    PULSOUT 13,850
    PULSOUT 12,750
  CASE %001  'rotate right
    PULSOUT 13,850
    PULSOUT 12,850
  CASE %110 'pivot left
    PULSOUT 13,750
    PULSOUT 12,650
  CASE %100 'rotate left
    PULSOUT 13,650
    PULSOUT 12,650
  ENDSELECT
PAUSE 20
LOOP


IF  (irDetectLeft = 1)OR(irDetectRight = 1)  THEN
  FOR i=1 TO 30  ' the robot will stop moving
    PULSOUT 13,750
    PULSOUT 12,750
  NEXT i
  FOR i= 30 TO 34
    FREQOUT 4, 2000, 3000   ' producing a tone for few seconds
    PULSOUT 13,750
    PULSOUT 12,750
  NEXT i
ENDIF
 